SPSS Kolmogorov-Smirnov 正态性检验

By Ruben Geert van den Berg,发表于 Basics & Statistics A-Z

另一个可选的正态性检验是 Shapiro-Wilk 检验

  • 什么是 Kolmogorov-Smirnov 正态性检验?
  • 在 SPSS 中使用 NPAR TESTS 进行 Kolmogorov-Smirnov 检验
  • 在 SPSS 中使用 EXAMINE VARIABLES 进行 Kolmogorov-Smirnov 检验
  • 如何报告 Kolmogorov-Smirnov 检验的结果
  • SPSS 结果出错?

SPSS Npar Tests One Sample Kolmogorov Smirnov Output

什么是 Kolmogorov-Smirnov 正态性检验?

Kolmogorov-Smirnov 检验用于检验一组数据是否可能服从某个总体中的特定分布。为了避免混淆,这里有两个 Kolmogorov-Smirnov 检验:

  • 单样本 Kolmogorov-Smirnov 检验:检验一个变量是否服从总体中的给定分布。这个“给定分布”通常(但不总是)是正态分布,因此被称为“Kolmogorov-Smirnov 正态性检验”。
  • 独立样本 Kolmogorov-Smirnov 检验:检验一个变量在两个总体中是否具有相同的分布 (不太常见)。

理论上,“Kolmogorov-Smirnov 检验”可以指代上述任何一个检验(但通常指的是单样本 Kolmogorov-Smirnov 检验),最好避免这种模糊的说法。顺便说一句,这两个 Kolmogorov-Smirnov 检验都可以在 SPSS 中找到。

Kolmogorov-Smirnov 检验 - 简单示例

假设我有一个包含 1,000,000 人的总体。我认为他们在某个任务上的反应时间完全服从正态分布。我从中抽取了 233 个人,并测量了他们的反应时间。 现在,这些观察值的频率分布可能与正态分布略有不同——但不会太大。因此,我绘制了观察到的反应时间的直方图,并叠加了一个具有相同均值和标准差的正态分布。结果如下图所示。

Kolmogorov Smirnov One Sample Test What Is It Histogram

我的数据的频率分布与正态曲线并不完全重叠。现在,我可以计算偏离正态曲线的个案百分比——图表中红色区域的百分比。这个百分比是一个检验统计量:它用一个数字表示我的数据与我的零假设的偏离程度。因此,它表明观察到的分数偏离正态分布的程度。

现在,如果我的零假设是正确的,那么这个偏差百分比应该相当小。也就是说,小的偏差具有高的概率值或 p 值。 反之,巨大的偏差百分比是不太可能的,表明我的反应时间在整个总体中并不服从正态分布。因此,大的偏差具有_低_ p 值。根据经验法则,如果 p < 0.05,我们拒绝零假设。因此,如果 p < 0.05,我们_不_认为我们的变量在总体中服从正态分布。

Kolmogorov-Smirnov 检验 - 检验统计量

这就是理解 Kolmogorov-Smirnov 正态性检验工作原理的最简单方法。然而,在计算上,它的工作方式不同:它比较观察到的与预期的累积相对频率,如下图所示。

Kolmogorov-Smirnov Test - Line Chart of Observed and Expected Relative Frequencies

Kolmogorov-Smirnov 检验使用这些曲线之间的最大绝对差作为其检验统计量,用 D 表示。在此图表中,最大绝对差 D 为 (0.48 - 0.41 =) 0.07,发生在 960 毫秒的反应时间处。请记住 D = 0.07,我们稍后会在我们的 SPSS 输出中遇到它。

在 SPSS 中进行 Kolmogorov-Smirnov 检验

在 SPSS 中运行此检验有两种方法:

  • NPAR TESTS: 位于 Analyze(分析)SPSS Menu Arrow Nonparametric Tests(非参数检验)SPSS Menu Arrow Legacy Dialogs(旧对话框)SPSS Menu Arrow 1-Sample K-S...(单样本 K-S…)。这是我们的首选方法,因为它会生成非常详细的输出。
  • EXAMINE VARIABLES: 位于 Analyze(分析)SPSS Menu Arrow Descriptive Statistics(描述统计)SPSS Menu Arrow Explore(探索)。这是一个替代方案。此命令同时运行 Kolmogorov-Smirnov 检验和 Shapiro-Wilk 正态性检验

请注意,EXAMINE VARIABLES 默认使用列表删除缺失值。因此,如果我测试 5 个变量,我的 5 个测试仅使用在这 5 个变量上没有任何缺失值的个案。这通常不是您想要的,但我们会展示如何避免这种情况。

我们将使用 speedtasks.sav 来演示这两种方法,该文件的一部分如下所示。

SPSS Kolmogorov Smirnov Test One Sample Variable View

我们的主要研究问题是,在我们的总体中,哪些反应时间变量可能服从正态分布?这些数据是一个教科书般的例子,说明为什么您应该在开始编辑或分析数据之前彻底检查您的数据。让我们这样做,并从下面的 syntax 运行一些直方图。

***Run basic histograms for inspecting if distributions look plausible.
**
frequencies r01 to r05
/format notable
/histogram normal.

***Note that some distributions do not look plausible at all!**

结果

SPSS One Sample Kolmogorov Smirnov Test Histogram

请注意,有些分布看起来根本不合理。但是,哪些分布可能服从正态分布?

在 SPSS 中使用 NPAR TESTS 进行 Kolmogorov-Smirnov 检验

我们运行 Kolmogorov-Smirnov 检验的首选选项是 Analyze(分析)SPSS Menu Arrow Nonparametric Tests(非参数检验)SPSS Menu Arrow Legacy Dialogs(旧对话框)SPSS Menu Arrow 1-Sample K-S...(单样本 K-S…),如下所示。

SPSS Kolmogorov Smirnov Test Nonparametric Legacy Dialogs Menu

接下来,我们只需填写对话框,如下所示。

SPSS Kolmogorov Smirnov Test Nonparametric Dialog

单击 Paste(粘贴)会生成以下 syntax。让我们运行它。

来自非参数检验的 Kolmogorov-Smirnov 检验 Syntax

***One-sample Kolmogorov-Smirnov test from analyze - nonparametric tests -
legacy dialogs - 1 sample ks-test.
**
NPAR TESTS
/K-S(NORMAL)=r01 r02 r03 r04 r05
/MISSING ANALYSIS.

***Only reaction time 4 has p > 0.05 and thus seems normally distributed in
population.
**

结果

SPSS Npar Tests One Sample Kolmogorov Smirnov Output

首先,请注意我们第一个变量的 test statistic(检验统计量)为 0.073——就像我们之前在累积相对频率图表中看到的那样。该图包含我们刚刚运行测试的完全相同的数据,因此这些结果很好地收敛。 关于我们的研究问题:只有试验 4 的反应时间似乎服从正态分布。

在 SPSS 中使用 EXAMINE VARIABLES 进行 Kolmogorov-Smirnov 检验

运行 Kolmogorov-Smirnov 检验的另一种方法是从 Analyze(分析)SPSS Menu Arrow Descriptive Statistics(描述统计)SPSS Menu Arrow Explore(探索)开始,如下所示。

SPSS Kolmogorov Smirnov Test Analyze Explore Menu SPSS Kolmogorov Smirnov Test Explore Dialog

来自非参数检验的 Kolmogorov-Smirnov 检验 Syntax

***One-sample Kolmogorov-Smirnov test from analyze - descriptive statistics -
explore.
**
EXAMINE VARIABLES=r01 r02 r03 r04 r05
/PLOT BOXPLOT NPPLOT
/COMPARE GROUPS
/STATISTICS NONE
/CINTERVAL 95
/MISSING PAIRWISE /* **IMPORTANT!** */
/NOTOTAL.

***Shorter version.
**
EXAMINE VARIABLES r01 r02 r03 r04 r05
/PLOT NPPLOT
/missing pairwise /* **IMPORTANT!** */.

结果

SPSS Kolmogorov Smirnov Test Analyze Explore Output

根据经验法则,如果 “Sig.” < 0.05,我们得出结论,变量_不_服从正态分布。因此,Kolmogorov-Smirnov 检验和 Shapiro-Wilk 检验的结果都表明,只有反应时间试验 4 在整个总体中服从正态分布。 此外,请注意,Kolmogorov-Smirnov 检验的结果与从 NPAR TESTS 获得的结果相同。

如何报告 Kolmogorov-Smirnov 检验的结果

为了按照 APA 指南报告我们的检验结果,我们将写如下内容:“Kolmogorov-Smirnov 检验表明,试验 1 的反应时间不服从正态分布,D(233) = 0.07, p = 0.005。” 对于其他变量,尝试缩短此内容,但请确保您包括:

  • D(代表“difference”),即 Kolmogorov-Smirnov test statistic(检验统计量),
  • df,即自由度(等于 N)和
  • p,即statistical significance(统计显著性)。

Kolmogorov-Smirnov Test Reporting in APA Style

SPSS 结果出错?

如果您只是想通过考试的学生,您现在可以停止阅读。只需按照我们到目前为止讨论的步骤操作,您就可以了。

好的,现在让我们在 SPSS 18 版本中再次运行完全相同的测试,并查看输出。

SPSS One Sample Kolmogorov Smirnov Test Output V18 Exact Tests

在此输出中,包含精确 p 值,并且 - 幸运的是 - 它们非常接近渐近 p 值。然而,不幸的是,SPSS 18 版本的结果与我们到目前为止报告的 SPSS 24 版本的结果_截然不同_。 原因似乎是在较新的 SPSS 版本中应用的 Lilliefors significance correction (Lilliefors 显著性校正)。结果似乎是,渐近显著性水平与精确显著性水平的差异远大于未暗示校正时的差异。这引发了对“Lilliefors 结果” - 较新 SPSS 版本中的默认设置 - 的正确性的严重怀疑。 我的同事 Alwin Stegeman 重新运行了 Matlab 中的所有测试,从而收集了对此建议的收敛证据。Matlab 结果与 SPSS 18 结果一致,因此与较新的结果不一致。

One-Sample Kolmogorov-Smirnov Test - Matlab Output

Kolmogorov-Smirnov 正态性检验 - 有限的用途

Kolmogorov-Smirnov 检验通常用于检验许多统计检验(例如 ANOVAt-test 和许多其他检验)所需的正态性假设。然而,几乎总是被忽视的是,如果样本量合理(例如 N ≥ 25),此类检验对于违反此假设具有稳健性。其根本原因是中心极限定理。因此,如果目的是满足正态性假设,则仅当样本量较小时才需要正态性检验。 不幸的是,小样本量会导致正态性检验的statistical power (统计功效)较低。这意味着与正态性的显着偏差_不会_导致统计显著性。该测试表明与正态性没有偏差,而实际上偏差很大。简而言之,需要正态性检验的情况 - 小样本量 - 也是它们表现不佳的情况。

感谢您的阅读。